package com.qf.mpswaggershiro.product.controller;

import com.qf.mpswaggershiro.product.entity.Category;
import com.qf.mpswaggershiro.product.service.ICategoryService;
import com.qf.mpswaggershiro.vo.Vo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * <p>
 * 商品分类 前端控制器
 * </p>
 *
 * @author cui
 * @since 2023-02-14
 */
@RestController  //ioc扫描
@RequestMapping("/index")
@CrossOrigin  //跨域
public class CategoryController {

    @Autowired
    ICategoryService categoryService;

    /**
     * 分类信息
     * @return
     */
    @GetMapping("/category-list")
    public Vo categoryList(){
        //用mp方式  （普通版）
        //List<Category> data= categoryService.categoryList();
        //用sql语句  三表联查   （优化版）
        //List<Category> data= categoryService.categoryListBySql();
        //用递归方式   （精简版）
       // List<Category> data = categoryService.categoryListRecursive();
        //终极版   用map中的key  和 value
        List<Category> data = categoryService.categoryListRecursiveBetter();

        return Vo.ok(data);
    }

    /**
     * 首页的分类推荐商品信息
     * @return
     */
    @GetMapping("/category-recommends")
    public Vo recommendsList(){
        List<Category> data= categoryService.recommendsList();
        return Vo.ok(data);

    }
}
